package com.storage.system.mapper;

import com.storage.system.domain.StorageGoods;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品 数据层
 * 
 * @author ruoyi
 * @date 2019-08-26
 */
public interface StorageGoodsMapper 
{
	/**
     * 查询商品信息
     * 
     * @param id 商品ID
     * @return 商品信息
     */
	public StorageGoods selectStorageGoodsById(Long id);
	
	/**
     * 查询商品列表
     * 
     * @param storageGoods 商品信息
     * @return 商品集合
     */
	public List<StorageGoods> selectStorageGoodsList(StorageGoods storageGoods);
	
	/**
     * 新增商品
     * 
     * @param storageGoods 商品信息
     * @return 结果
     */
	public int insertStorageGoods(StorageGoods storageGoods);
	
	/**
     * 修改商品
     * 
     * @param storageGoods 商品信息
     * @return 结果
     */
	public int updateStorageGoods(StorageGoods storageGoods);
	
	/**
     * 删除商品
     * 
     * @param id 商品ID
     * @return 结果
     */
	public int deleteStorageGoodsById(Long id);
	
	/**
     * 批量删除商品
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteStorageGoodsByIds(String[] ids);

	/**
	 * 根据skucode查找单品
	 *
	 * @param goodsCode
	 * @param createUserId
	 * @param ownerType
	 * @return
	 */
    StorageGoods selectStorageGoodsBySkuCode(@Param("goodsCode") String goodsCode, @Param("createUserId") Long createUserId, @Param("ownerType") Integer ownerType);
    
	/**
	 * 删除单品
	 *
	 * @param goodsCondition
	 * @return
	 */
	int deleteStorageGoods(StorageGoods goodsCondition);

	/**
	 * 获取产品列表
	 * @param productId
	 * @return
	 */
    List<StorageGoods> selectStorageGoodsByProductId(Long productId);
}